From cb08944a482a5e80a3ff1113f0735761cc4c6cb8 Mon Sep 17 00:00:00 2001 From: Jean-Yves Migeon Date: Fri, 29 Nov 2013 11:39:23 +0100 Subject: [PATCH] Fix ptr calculation when converting from a VA The ptr calculation shall take the offset into the page into account when ptr is valid. Reported regression on NetBSD's port-xen with last known working libxen being rev 2.9. This corrupts the kernel symbol table when the table is not loaded on a page boundary. Issue was tracked down by FastIce and Jeff Rizzo. See also http://mail-index.netbsd.org/port-xen/2013/10/16/msg008088.html Signed-off-by: Jean-Yves Migeon Reviewed-by: Jan Beulich Acked-by: Ian Campbell --- tools/libxc/xc_dom.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libxc/xc_dom.h b/tools/libxc/xc_dom.h index a183e62ee4..7099ceebdd 100644 --- a/tools/libxc/xc_dom.h +++ b/tools/libxc/xc_dom.h @@ -342,7 +342,7 @@ static inline void *xc_dom_vaddr_to_ptr(struct xc_dom_image *dom, if ( ptr == NULL ) return ptr; *safe_region_out = (safe_region_count << XC_DOM_PAGE_SHIFT(dom)) - offset; - return ptr; + return ptr + offset; } static inline xen_pfn_t xc_dom_p2m_host(struct xc_dom_image *dom, xen_pfn_t pfn) -- 2.30.2